Skip to content

Add MySQL and SQLite database support#1421

Merged
Bramjetten merged 2 commits intomainfrom
mysql-sqlite-support
Jan 12, 2026
Merged

Add MySQL and SQLite database support#1421
Bramjetten merged 2 commits intomainfrom
mysql-sqlite-support

Conversation

@Bramjetten
Copy link
Contributor

Spina now supports PostgreSQL, MySQL, and SQLite databases.

Changes:

  • Remove hard pg gem dependency from gemspec
  • Convert JSONB columns to JSON for cross-database compatibility
  • Replace PostgreSQL-specific ILIKE with LOWER()/LIKE
  • Refactor ReplaceSignedIdJob to use Ruby instead of PostgreSQL SQL
  • Change Mobility backend from :jsonb to :json
  • Add CI workflow to test all three databases
  • Update documentation

Existing PostgreSQL installations are unaffected - JSONB columns continue to work with the JSON-based code.

Bramjetten and others added 2 commits January 12, 2026 11:37
Spina now supports PostgreSQL, MySQL, and SQLite databases.

Changes:
- Remove hard pg gem dependency from gemspec
- Convert JSONB columns to JSON for cross-database compatibility
- Replace PostgreSQL-specific ILIKE with LOWER()/LIKE
- Refactor ReplaceSignedIdJob to use Ruby instead of PostgreSQL SQL
- Change Mobility backend from :jsonb to :json
- Add CI workflow to test all three databases
- Update documentation

Existing PostgreSQL installations are unaffected - JSONB columns
continue to work with the JSON-based code.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
MySQL doesn't allow default values on JSON columns. Move defaults
to the model layer using Rails' attribute API instead.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@Bramjetten Bramjetten merged commit 78cffc2 into main Jan 12, 2026
3 checks passed
@Bramjetten Bramjetten deleted the mysql-sqlite-support branch January 12, 2026 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant